package com.bsj.power.system.service;

import com.bsj.power.common.config.global.JsonResult;
import com.bsj.power.common.def.dto.personGroup.PersonGroupDTO;
import com.bsj.power.common.def.dto.personGroup.PersonGroupSearchDTO;
import com.bsj.power.common.def.entity.personGroup.PersonGroup;
import com.bsj.power.common.def.vo.PersonGroupVO;

import java.util.List;

/**
 * @author LiJiaXin
 * @version 1.0.0
 * @description PersonGroupService
 * @time 2024/9/7 10:08
 */
public interface PersonGroupService {

    /**
     * 添加人员组
     *
     * @param personGroupDTO
     * @return com.bsj.power.common.config.global.JsonResult
     * @author ljx
     * @time 2024/9/7 10:56
     */
    JsonResult addPersonGroup(PersonGroupDTO personGroupDTO);

    /**
     * 删除人员组
     *
     * @param groupId
     * @return com.bsj.power.common.config.global.JsonResult
     * @author ljx
     * @time 2024/9/7 10:57
     */
    JsonResult deletePersonGroup(Integer groupId);

    /**
     * 修改人员组
     *
     * @param personGroupDTO
     * @return com.bsj.power.common.config.global.JsonResult
     * @author ljx
     * @time 2024/9/7 10:57
     */
    JsonResult updatePersonGroup(PersonGroupDTO personGroupDTO);

    /**
     * 获取单个人员组
     *
     * @param groupId
     * @return com.bsj.power.common.def.entity.personGroup.PersonGroup
     * @author ljx
     * @time 2024/9/7 10:57
     */
    PersonGroup getPersonGroupById(Integer groupId);

    /**
     * 人员组分页
     *
     * @param personGroupSearchDTO
     * @return com.bsj.power.common.config.global.JsonResult<java.util.List<com.bsj.power.common.def.vo.PersonGroupVO>>
     * @author ljx
     * @time 2024/9/7 10:57
     */
    JsonResult<List<PersonGroupVO>> pagePersonGroup(PersonGroupSearchDTO personGroupSearchDTO);
}
